In the field of software testing, a plurality of test case are generated and executed to identify the bugs and errors of the software application or system under test. Various techniques are used to generate the test cases wherein requirements and specifications of the software application under test are contemplated, and subsequently the test cases are built around the requirements and specification. For example, model-based testing technique can be used to derive a plurality of test cases from one or more models that describe the functional requirements of the system under test.
Model based testing technique facilitates in eliminating the need for manual test design in the entire cycle of software testing of an application. Once the requirements of the software application are contemplated by the test engineer, the same can be converted into business models. The business models can further be used for automatically identifying and generating test cases.
One problem associated with the model based testing technique is that for a numerous existing software applications or systems, no models may be available to be used for generating the test cases. In such scenarios, models are manually generated for the existing software applications using various reverse engineering tools. However, large software applications or systems may have a large number of functional requirements. Hence, software test engineers may not be able to manually incorporate the substantial number of requirements for designing the models that cover all the essential aspects of the application.
In some scenarios, software products may be in their maintenance phase. These products may have a huge set of existing test cases that can be used for generating business models via the reverse engineering solutions. In order to implement and secure the benefits of model based testing, the software test engineers need to invest huge efforts, so that the existing test cases can be converted into business models. However, the conversion of existing test cases into business models is a manual exercise. Predominantly, the initial conversion is a costly and manual effort. Additionally, there may be redundant test cases as the test cases available may be developed by different developers/engineers at various different locations and time. This requires the software test engineers to filter out the redundancy in the process of generating the business models. Hence, the software test engineers are often hesitant to adopt the reverse engineering solution.
In light of the abovementioned disadvantages, there is a need for a method and system for analysis of available test cases. In addition, there is a need for a method and system for optimization and visualization of the available test cases for automatically generating business models for efficient and effective software testing.